# near model CODE resource # jump table entries: 40-41 (2 of them) 00000000 0000 0028 ori.b D0, 0x28 /* '(' */ 00000004 0000 03E8 ori.b D0, 0xE8 fn00000008: 00000008 4E56 FFFC link A6, -0x0004 0000000C 594F subq.w A7, 4 0000000E 3F3C AA6E move.w -[A7], 0xAA6E 00000012 1F3C 0001 move.b -[A7], 0x1 00000016 4EB9 0000 0238 jsr [0x00000238] 0000001C 205F movea.l A0, [A7]+ 0000001E 2D48 FFFC move.l [A6 - 0x4], A0 00000022 594F subq.w A7, 4 00000024 3F3C A86E move.w -[A7], 0xA86E 00000028 1F3C 0001 move.b -[A7], 0x1 0000002C 4EB9 0000 0238 jsr [0x00000238] 00000032 205F movea.l A0, [A7]+ 00000034 B1EE FFFC cmpa.l A0, [A6 - 0x4] 00000038 6606 bne +0x8 /* 00000040 */ 0000003A 303C 0200 move.w D0, 0x200 0000003E 6004 bra +0x6 /* 00000044 */ label00000040: 00000040 303C 0400 move.w D0, 0x400 label00000044: 00000044 4E5E unlink A6 00000046 4E75 rts 00000048 8F4E 756D pack -[A7], -[A6], 0x756D 0000004C 546F 6F6C addq.w [A7 + 0x6F6C], 2 00000050 626F bhi +0x71 /* 000000C1 */ 00000052 7854 moveq.l D4, 0x54 00000054 7261 moveq.l D1, 0x61 00000056 7073 moveq.l D0, 0x73 00000058 0000 302F ori.b D0, 0x2F /* '/' */ // begin alternate branch 0000005A-00000064 fn0000005A: 0000005A 302F 0004 move.w D0, [A7 + 0x4] 0000005E 0280 0000 0800 andi.l D0, 0x800 // end alternate branch 0000005A-00000064 fn0000005A: // (misaligned) 0000005C 0004 0280 ori.b D4, 0x80 00000060 0000 0800 ori.b D0, 0x0 00000064 6604 bne +0x6 /* 0000006A */ 00000066 7000 moveq.l D0, 0x00 00000068 4E75 rts label0000006A: 0000006A 7001 moveq.l D0, 0x01 0000006C 4E75 rts 0000006E 8B47 6574 pack D5, D7, 0x6574 00000072 5472 6170 5479 7065 addq.w [A2 + 0x54797065], 2 0000007A 0000 4E56 ori.b D0, 0x56 /* 'V' */ // begin alternate branch 0000007C-00000080 fn0000007C: 0000007C 4E56 FFFC link A6, -0x0004 // end alternate branch 0000007C-00000080 fn0000007C: // (misaligned) 0000007E FFFC .invalid <> 00000080 48E7 1800 movem.l -[A7], D3,D4 00000084 362E 0008 move.w D3, [A6 + 0x8] 00000088 3F03 move.w -[A7], D3 0000008A 4EBA FFCE jsr [PC - 0x32 /* 0000005A */] 0000008E 1800 move.b D4, D0 00000090 0C04 0001 cmpi.b D4, 0x1 00000094 544F addq.w A7, 2 00000096 6610 bne +0x12 /* 000000A8 */ 00000098 4EBA FF6E jsr [PC - 0x92 /* 00000008 */] 0000009C 0243 07FF andi.w D3, 0x7FF 000000A0 B640 cmp.w D3, D0 000000A2 6D04 blt +0x6 /* 000000A8 */ 000000A4 363C A89F move.w D3, 0xA89F label000000A8: 000000A8 594F subq.w A7, 4 000000AA 3F03 move.w -[A7], D3 000000AC 1F04 move.b -[A7], D4 000000AE 4EB9 0000 0238 jsr [0x00000238] 000000B4 205F movea.l A0, [A7]+ 000000B6 2D48 FFFC move.l [A6 - 0x4], A0 000000BA 594F subq.w A7, 4 000000BC 3F3C A89F move.w -[A7], 0xA89F 000000C0 1F3C 0001 move.b -[A7], 0x1 000000C4 4EB9 0000 0238 jsr [0x00000238] 000000CA 205F movea.l A0, [A7]+ 000000CC B1EE FFFC cmpa.l A0, [A6 - 0x4] 000000D0 56C0 sne D0 000000D2 4400 neg.b D0 000000D4 49C0 lea.l A4, D0 000000D6 4CDF 0018 movem.l D3,D4, [A7]+ 000000DA 4E5E unlink A6 000000DC 4E75 rts 000000DE 8A54 or.w D5, [A4] 000000E0 7261 moveq.l D1, 0x61 000000E2 7045 moveq.l D0, 0x45 000000E4 7869 moveq.l D4, 0x69 000000E6 7374 moveq.l D1, 0x74 000000E8 7300 moveq.l D1, 0x00 000000EA 0000 4E56 ori.b D0, 0x56 /* 'V' */ // begin alternate branch 000000EC-000000F0 fn000000EC: 000000EC 4E56 FFEC link A6, -0x0014 // end alternate branch 000000EC-000000F0 fn000000EC: // (misaligned) 000000EE FFEC .invalid <> 000000F0 7001 moveq.l D0, 0x01 000000F2 41EE FFF0 lea.l A0, [A6 - 0x10] 000000F6 A090 syscall SysEnvirons 000000F8 554F subq.w A7, 2 000000FA 3F2E FFFE move.w -[A7], [A6 - 0x2] 000000FE 2F2E 0008 move.l -[A7], [A6 + 0x8] 00000102 2F2E 000C move.l -[A7], [A6 + 0xC] 00000106 486E FFEC pea.l [A6 - 0x14] 0000010A 4EB9 0000 02B8 jsr [0x000002B8] 00000110 301F move.w D0, [A7]+ 00000112 48C0 ext.l D0 00000114 670C beq +0xE /* 00000122 */ 00000116 206E 0008 movea.l A0, [A6 + 0x8] 0000011A 4250 clr.w [A0] 0000011C 206E 000C movea.l A0, [A6 + 0xC] 00000120 4290 clr.l [A0] label00000122: 00000122 4E5E unlink A6 00000124 4E75 rts 00000126 8F47 6574 pack D7, D7, 0x6574 0000012A 5379 7374 656D subq.w [0x7374656D], 1 00000130 466F 6C64 not.w [A7 + 0x6C64] 00000134 6572 bcs +0x74 /* 000001A8 */ 00000136 0000 4E56 ori.b D0, 0x56 /* 'V' */ // begin alternate branch 00000138-0000013C fn00000138: 00000138 4E56 FFFC link A6, -0x0004 // end alternate branch 00000138-0000013C fn00000138: // (misaligned) 0000013A FFFC .invalid <> 0000013C 48E7 1030 movem.l -[A7], D3,A2,A3 00000140 266E 0008 movea.l A3, [A6 + 0x8] 00000144 246E 000C movea.l A2, [A6 + 0xC] 00000148 7600 moveq.l D3, 0x00 0000014A 3F3C A1AD move.w -[A7], 0xA1AD 0000014E 4EBA FF2C jsr [PC - 0xD4 /* 0000007C */] 00000152 4A00 tst.b D0 00000154 544F addq.w A7, 2 00000156 6714 beq +0x16 /* 0000016C */ 00000158 203C 666F 6C64 move.l D0, 0x666F6C64 /* 'fold' */ 0000015E 43EE FFFC lea.l A1, [A6 - 0x4] 00000162 A1AD syscall Gestalt, flags=1 00000164 2288 move.l [A1], A0 00000166 48C0 ext.l D0 00000168 6602 bne +0x4 /* 0000016C */ 0000016A 7601 moveq.l D3, 0x01 label0000016C: 0000016C 4A03 tst.b D3 0000016E 660C bne +0xE /* 0000017C */ 00000170 2F0A move.l -[A7], A2 00000172 2F0B move.l -[A7], A3 00000174 4EBA FF76 jsr [PC - 0x8A /* 000000EC */] 00000178 504F addq.w A7, 8 0000017A 6020 bra +0x22 /* 0000019C */ label0000017C: 0000017C 554F subq.w A7, 2 0000017E 3F3C 8000 move.w -[A7], 0x8000 00000182 2F3C 6374 726C move.l -[A7], 0x6374726C /* 'ctrl' */ 00000188 4227 clr.b -[A7] 0000018A 2F0B move.l -[A7], A3 0000018C 2F0A move.l -[A7], A2 0000018E 7000 moveq.l D0, 0x00 00000190 A823 syscall AliasDispatch 00000192 301F move.w D0, [A7]+ 00000194 48C0 ext.l D0 00000196 6704 beq +0x6 /* 0000019C */ 00000198 4253 clr.w [A3] 0000019A 4292 clr.l [A2] label0000019C: 0000019C 4CDF 0C08 movem.l D3,A2,A3, [A7]+ 000001A0 4E5E unlink A6 000001A2 4E75 rts 000001A4 8F47 6574 pack D7, D7, 0x6574 label000001A8: 000001A8 4350 chk.w D1, [A0] 000001AA 616E bsr +0x70 /* 0000021A */ 000001AC 656C bcs +0x6E /* 0000021A */ 000001AE 466F 6C64 not.w [A7 + 0x6C64] 000001B2 6572 bcs +0x74 /* 00000226 */ 000001B4 0000 4E56 ori.b D0, 0x56 /* 'V' */ // begin alternate branch 000001B6-000001BE fn000001B6: 000001B6 4E56 FE86 link A6, -0x017A 000001BA 48E7 1F00 movem.l -[A7], D3,D4,D5,D6,D7 // end alternate branch 000001B6-000001BE fn000001B6: // (misaligned) 000001B8 FE86 48E7 .extension 0xE86 <> // unimplemented 000001BC 1F00 move.b -[A7], D0 000001BE 2E2E 0008 move.l D7, [A6 + 0x8] 000001C2 2C2E 000C move.l D6, [A6 + 0xC] 000001C6 3A2E 0010 move.w D5, [A6 + 0x10] 000001CA 282E 0012 move.l D4, [A6 + 0x12] 000001CE 42AE FF92 clr.l [A6 - 0x6E] 000001D2 41EE FE86 lea.l A0, [A6 - 0x17A] 000001D6 2D48 FF98 move.l [A6 - 0x68], A0 000001DA 3D45 FF9C move.w [A6 - 0x64], D5 000001DE 2D44 FFB6 move.l [A6 - 0x4A], D4 000001E2 3D7C 0001 FFA2 move.w [A6 - 0x5E], 0x1 000001E8 6046 bra +0x48 /* 00000230 */ label000001EA: 000001EA BEAE FFA6 cmp.l D7, [A6 - 0x5A] 000001EE 6638 bne +0x3A /* 00000228 */ 000001F0 BCAE FFAA cmp.l D6, [A6 - 0x56] 000001F4 6632 bne +0x34 /* 00000228 */ 000001F6 554F subq.w A7, 2 000001F8 3F05 move.w -[A7], D5 000001FA 2F04 move.l -[A7], D4 000001FC 486E FE86 pea.l [A6 - 0x17A] 00000200 1F3C 0001 move.b -[A7], 0x1 00000204 A81A syscall HOpenResFile 00000206 301F move.w D0, [A7]+ 00000208 3600 move.w D3, D0 0000020A 594F subq.w A7, 4 0000020C 2F3C 646E 7270 move.l -[A7], 0x646E7270 /* 'dnrp' */ 00000212 3F3C 0001 move.w -[A7], 0x1 00000216 A99D syscall GetIndResource 00000218 205F movea.l A0, [A7]+ fn0000021A: 0000021A 2008 move.l D0, A0 0000021C 6606 bne +0x8 /* 00000224 */ 0000021E 3F03 move.w -[A7], D3 00000220 A99A syscall CloseResFile 00000222 6004 bra +0x6 /* 00000228 */ label00000224: 00000224 3003 move.w D0, D3 label00000226: 00000226 6014 bra +0x16 /* 0000023C */ label00000228: 00000228 526E FFA2 addq.w [A6 - 0x5E], 1 0000022C 2D44 FFB6 move.l [A6 - 0x4A], D4 label00000230: 00000230 41EE FF86 lea.l A0, [A6 - 0x7A] 00000234 A20C syscall GetFileInfo/PBHGetFInfo/HGetFileInfo, flags=2 00000236 48C0 ext.l D0 00000238 67B0 beq -0x4E /* 000001EA */ 0000023A 70FF moveq.l D0, 0xFFFFFFFF label0000023C: 0000023C 4CDF 00F8 movem.l D3,D4,D5,D6,D7, [A7]+ 00000240 4E5E unlink A6 00000242 4E75 rts 00000244 9353 sub.w [A3], D1 00000246 6561 bcs +0x63 /* 000002A9 */ 00000248 7263 moveq.l D1, 0x63 0000024A 6846 bvc +0x48 /* 00000292 */ 0000024C 6F6C ble +0x6E /* 000002BA */ 0000024E 6465 bcc +0x67 /* 000002B5 */ 00000250 7246 moveq.l D1, 0x46 00000252 6F72 ble +0x74 /* 000002C6 */ 00000254 444E neg.w A6 00000256 5250 addq.w [A0], 1 00000258 0000 4E56 ori.b D0, 0x56 /* 'V' */ // begin alternate branch 0000025A-0000025E fn0000025A: 0000025A 4E56 FFFA link A6, -0x0006 // end alternate branch 0000025A-0000025E fn0000025A: // (misaligned) 0000025C FFFA .invalid <> 0000025E 2F03 move.l -[A7], D3 00000260 486E FFFA pea.l [A6 - 0x6] 00000264 486E FFFE pea.l [A6 - 0x2] 00000268 4EBA FECE jsr [PC - 0x132 /* 00000138 */] 0000026C 2F2E FFFA move.l -[A7], [A6 - 0x6] 00000270 3F2E FFFE move.w -[A7], [A6 - 0x2] 00000274 2F3C 7A74 6370 move.l -[A7], 0x7A746370 /* 'ztcp' */ 0000027A 2F3C 6364 6576 move.l -[A7], 0x63646576 /* 'cdev' */ 00000280 4EBA FF34 jsr [PC - 0xCC /* 000001B6 */] 00000284 3600 move.w D3, D0 00000286 0C43 FFFF cmpi.w D3, 0xFFFF 0000028A 4FEF 0016 lea.l A7, [A7 + 0x16] 0000028E 6704 beq +0x6 /* 00000294 */ 00000290 3003 move.w D0, D3 label00000292: 00000292 606A bra +0x6C /* 000002FE */ label00000294: 00000294 486E FFFA pea.l [A6 - 0x6] 00000298 486E FFFE pea.l [A6 - 0x2] 0000029C 4EBA FE4E jsr [PC - 0x1B2 /* 000000EC */] 000002A0 2F2E FFFA move.l -[A7], [A6 - 0x6] 000002A4 3F2E FFFE move.w -[A7], [A6 - 0x2] 000002A8 2F3C 6D74 6370 move.l -[A7], 0x6D746370 /* 'mtcp' */ 000002AE 2F3C 6364 6576 move.l -[A7], 0x63646576 /* 'cdev' */ 000002B4 4EBA FF00 jsr [PC - 0x100 /* 000001B6 */] 000002B8 3600 move.w D3, D0 label000002BA: 000002BA 0C43 FFFF cmpi.w D3, 0xFFFF 000002BE 4FEF 0016 lea.l A7, [A7 + 0x16] 000002C2 6704 beq +0x6 /* 000002C8 */ 000002C4 3003 move.w D0, D3 label000002C6: 000002C6 6036 bra +0x38 /* 000002FE */ label000002C8: 000002C8 486E FFFA pea.l [A6 - 0x6] 000002CC 486E FFFE pea.l [A6 - 0x2] 000002D0 4EBA FE66 jsr [PC - 0x19A /* 00000138 */] 000002D4 2F2E FFFA move.l -[A7], [A6 - 0x6] 000002D8 3F2E FFFE move.w -[A7], [A6 - 0x2] 000002DC 2F3C 6D74 6370 move.l -[A7], 0x6D746370 /* 'mtcp' */ 000002E2 2F3C 6364 6576 move.l -[A7], 0x63646576 /* 'cdev' */ 000002E8 4EBA FECC jsr [PC - 0x134 /* 000001B6 */] 000002EC 3600 move.w D3, D0 000002EE 0C43 FFFF cmpi.w D3, 0xFFFF 000002F2 4FEF 0016 lea.l A7, [A7 + 0x16] 000002F6 6704 beq +0x6 /* 000002FC */ 000002F8 3003 move.w D0, D3 000002FA 6002 bra +0x4 /* 000002FE */ label000002FC: 000002FC 70FF moveq.l D0, 0xFFFFFFFF label000002FE: 000002FE 261F move.l D3, [A7]+ 00000300 4E5E unlink A6 00000302 4E75 rts 00000304 894F 7065 pack -[A4], -[A7], 0x7065 00000308 6E4F bgt +0x51 /* 00000359 */ 0000030A 7572 moveq.l D2, 0x72 0000030C 5246 addq.w D6, 1 0000030E 0000 4E56 ori.b D0, 0x56 /* 'V' */ 00000312 0000 2F03 ori.b D0, 0x3 00000316 4AAD D69A tst.l [A5 - 0x2966] 0000031A 6704 beq +0x6 /* 00000320 */ 0000031C 7000 moveq.l D0, 0x00 0000031E 6076 bra +0x78 /* 00000396 */ label00000320: 00000320 4EBA FF38 jsr [PC - 0xC8 /* 0000025A */] 00000324 3600 move.w D3, D0 00000326 594F subq.w A7, 4 00000328 2F3C 646E 7270 move.l -[A7], 0x646E7270 /* 'dnrp' */ 0000032E 3F3C 0001 move.w -[A7], 0x1 00000332 A99D syscall GetIndResource 00000334 205F movea.l A0, [A7]+ 00000336 2B48 D69E move.l [A5 - 0x2962], A0 0000033A 4AAD D69E tst.l [A5 - 0x2962] 0000033E 6608 bne +0xA /* 00000348 */ 00000340 554F subq.w A7, 2 00000342 A9AF syscall ResError 00000344 301F move.w D0, [A7]+ 00000346 604E bra +0x50 /* 00000396 */ label00000348: 00000348 2F2D D69E move.l -[A7], [A5 - 0x2962] 0000034C A992 syscall DetachResource 0000034E 0C43 FFFF cmpi.w D3, 0xFFFF 00000352 6704 beq +0x6 /* 00000358 */ 00000354 3F03 move.w -[A7], D3 00000356 A99A syscall CloseResFile label00000358: 00000358 206D D69E movea.l A0, [A5 - 0x2962] 0000035C A064 syscall MoveHHi 0000035E 206D D69E movea.l A0, [A5 - 0x2962] 00000362 A029 syscall HLock 00000364 206D D69E movea.l A0, [A5 - 0x2962] 00000368 2B50 D69A move.l [A5 - 0x2966], [A0] 0000036C 2F2E 0008 move.l -[A7], [A6 + 0x8] 00000370 4878 0001 push.l 0x1 00000374 206D D69A movea.l A0, [A5 - 0x2966] 00000378 4E90 jsr [A0] 0000037A 3600 move.w D3, D0 0000037C 3003 move.w D0, D3 0000037E 48C0 ext.l D0 00000380 504F addq.w A7, 8 00000382 6710 beq +0x12 /* 00000394 */ 00000384 206D D69E movea.l A0, [A5 - 0x2962] 00000388 A02A syscall HUnlock 0000038A 206D D69E movea.l A0, [A5 - 0x2962] 0000038E A023 syscall DisposHandle/DisposeHandle 00000390 42AD D69A clr.l [A5 - 0x2966] label00000394: 00000394 3003 move.w D0, D3 label00000396: 00000396 261F move.l D3, [A7]+ 00000398 4E5E unlink A6 0000039A 4E75 rts 0000039C 8C4F or.w D6, A7 0000039E 7065 moveq.l D0, 0x65 000003A0 6E52 bgt +0x54 /* 000003F4 */ 000003A2 6573 bcs +0x75 /* 00000417 */ 000003A4 6F6C ble +0x6E /* 00000412 */ 000003A6 7665 moveq.l D3, 0x65 000003A8 7200 moveq.l D1, 0x00 000003AA 0000 4E56 ori.b D0, 0x56 /* 'V' */ 000003AE 0000 4AAD ori.b D0, 0xAD 000003B2 D69A add.l D3, [A2]+ 000003B4 6604 bne +0x6 /* 000003BA */ 000003B6 70E4 moveq.l D0, 0xFFFFFFE4 000003B8 601A bra +0x1C /* 000003D4 */ label000003BA: 000003BA 2F2E 0014 move.l -[A7], [A6 + 0x14] 000003BE 2F2E 0010 move.l -[A7], [A6 + 0x10] 000003C2 2F2E 000C move.l -[A7], [A6 + 0xC] 000003C6 2F2E 0008 move.l -[A7], [A6 + 0x8] 000003CA 4878 0003 push.l 0x3 000003CE 206D D69A movea.l A0, [A5 - 0x2966] 000003D2 4E90 jsr [A0] label000003D4: 000003D4 4E5E unlink A6 000003D6 4E75 rts 000003D8 8953 or.w [A3], D4 000003DA 7472 moveq.l D2, 0x72 000003DC 546F 4164 addq.w [A7 + 0x4164], 2 000003E0 6472 bcc +0x74 /* 00000454 */ 000003E2 0000 0000 ori.b D0, 0x0 000003E6 0005 99F5 ori.b D5, 0xF5 000003EA 4057 negx.w [A7] 000003EC F5AE .invalid <> 000003EE 0000 0000 ori.b D0, 0x0 000003F2 0000 0000 ori.b D0, 0x0